MAP decoder having a simple design and decoding method thereof

ABSTRACT

A MAP decoder having a simple design and a decoding method thereof. The MAP decoder includes an intrinsic information storage unit to store input intrinsic information, a branch metric operation unit to calculate branch metrics of a received signal, a branch metric storage unit to store the branch metrics calculated with respect to the received signal, a forward metric operation unit to calculate forward metrics by reading out the intrinsic information and the branch metrics corresponding to the received signal from the intrinsic information storage unit and the branch metric storage unit, respectively In addition, included is a backward metric operation unit to calculate backward metrics by reading out the intrinsic information and the branch metrics corresponding to the received signal from the intrinsic information storage unit and the branch metric storage unit, respectively, and a log likelihood ratio (LLR) unit to calculate an LLR using the intrinsic information, the branch metrics and the backward metrics corresponding to the received signal. According to the MAP decoder adopting the proposed MAP algorithm, the implementation of operational elements can be simplified, and memory space can efficiently be reduced.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of Korean Patent Application No. 2003-77515 filed with the Korea Industrial Property Office on Nov. 4, 2003, the disclosure of which is incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present general inventive concept relates to an error correction decoder used with a communication system, and more particularly, to a MAP (Maximum A Posteriori) decoder and a decoding method thereof.

2. Description of the Related Art

Turbo code has recently been adopted by the ITU as the standard of a channel code for high-rate data transmission in the next-generation mobile communication protocols such as IMT-2000. The Turbo code proposed by Berrou at al. becomes a matter of great concern and interest by its epoch-making performance in a low signal-to-noise ratio of 0.7 dB during its 18-times iterative decoding operation. Turbo code also has a relatively simple decoding algorithm in an additive white Gaussian noise (AWGN) environment. Also, the Turbo code is known as a strong coding technique reliable even in a fading channel.

The Turbo code shows a better performance according to a number of iterations and the size of interleavers. Accordingly, research is actively in progress regarding interleavers that greatly affect the performance of the Turbo code mainly in CDMA200 and ARIB.

FIGS. 1A and 1B illustrate Turbo trellis-coded modulation (TTCM) encoders. Specifically, FIG. 1A shows a construction of a 16 QAM TTCM encoder, and FIG. 1B shows the construction of a 64 QAM TTCM encoder.

The Turbo code comprises convolutional codes connected by interleavers. The whole TTCM structure is similar to the binary-operational Turbo code. Here, TTCMs are connected through bit interleavers so that the TTCMs can be iteratively decoded in a unit of a bit.

A respective connected convolutional encoder has a code rate of b/(b+1), and its output b+1 is mapped by a 2^(b+1) level modulation. The output b+1 of the first encoder is mapped by in-phase (I) levels, the number of which is 2^(b+1), and the output bit number b+1 of the second encoder is mapped by quadrature (Q) levels, the number of which is 2^(b+1). Thus, the outputs of the two encoders have the 2^(2b+1) QAM signal form.

A well-known Turbo code decoding system is a MAP (Maximum A Posteriori) algorithm.

A signal R₁ ^(N) received in the Turbo decoder is defined by R₁ ^(N)=(R₁, R₂, . . . , R_(k), . . . , R_(N)) where, N is the number of symbols in a frame.

R_(k)=(x_(k),y_(k)) denote symbols received at the time of k, and are defined by x _(k) =X _(k) +i _(k) y _(k) =Y _(k) +q _(k) where, X_(k) and Y_(k) are encoded symbols, and i_(k) and q_(k) are additive white Gaussian noise having a variance of σ². X_(k) and Y_(k) can be determined by mapping the encode output bits according to the modulation system.

A log likelihood ratio (LLR), which can represent the reliability according to the result of decoding, can be defined by the following Equation 1. At this time, L(d_(k) ^(q)) represents the LLR of the decoded data bit d_(k) ^(q). $\begin{matrix} \begin{matrix} {{{L\left( d_{k}^{q} \right)} = {\log\frac{\sum\limits_{{i|d_{k}^{q}} = 1}^{\quad}{\Pr\left( {d_{k} = \left. i \middle| R_{1}^{N} \right.} \right)}}{\sum\limits_{{i|d_{k}^{q}} = 0}^{\quad}{\Pr\left( {d_{k} = \left. i \middle| R_{1}^{N} \right.} \right)}}}},} \\ {d_{1} = \left( {d_{k}^{1},\cdots\quad,d_{k}^{q},\cdots\quad,d_{k}^{n}} \right)} \end{matrix} & {{Equation}\quad 1} \end{matrix}$

If S_(k) is the state of the encoder, and λ_(k) ^(i)=Pr(d_(k), S_(k)=m|R₁ ^(N)), Equation 1 can be expressed by Equation 2 below: $\begin{matrix} {{L\left( d_{k}^{q} \right)} = {\log\quad\frac{\sum\limits_{{i|d_{k}^{q}} = 1}^{\quad}{\sum\limits_{m}\lambda_{k}^{i}}}{\sum\limits_{{i|d_{k}^{q}} = 1}^{\quad}{\sum\limits_{m}\lambda_{k}^{i}}}}} & {{Equation}\quad 2} \end{matrix}$

If the LLR is L(d_(k) ^(q))≧0 as a result of measuring the reliability, it is determined that d′_(k) ^(q)=1, while if the LLR is L(d_(k) ^(q))≦0, it is determined that d′_(k) ^(q)=0.

Meanwhile, forward metrics α_(k)(m), backward metrics β_(k)(m), and branch metrics γ_(i)(R_(k),m′,m) can be defined by Equation 3 below: $\begin{matrix} \begin{matrix} {{{\alpha_{k}(m)} = {\Pr\left( {S_{k} = \left. m \middle| R_{k}^{m} \right.} \right)}},} \\ {{{\beta_{k}(m)} = \frac{\Pr\left( {\left. R_{k + 1}^{N} \middle| S_{k} \right. = m} \right)}{\Pr\left( R_{k + 1}^{N} \middle| R_{1}^{N} \right)}},} \\ {{\gamma_{i}\left( {R_{k},m^{\prime},m} \right)} = {{\Pr\left( {{d_{k} = i},{S_{k} = m},{\left. R_{k} \middle| S_{k - 1} \right. = m^{\prime}}} \right)}.}} \end{matrix} & {{Equation}\quad 3} \end{matrix}$

Using the forward metrics α_(k)(m), the backward metrics β_(k)(m), and the branch metrics γ_(i)(R_(k),m′,m) defined in Equation 3 for the decoding operation, the LLR L(d_(k) ^(q)) can be defined by Equation 4 below: $\begin{matrix} {{L\left( d_{k}^{q} \right)} = {\log\quad\frac{\sum\limits_{{i|d_{k}^{q}} = 1}^{\quad}{\sum\limits_{m}{\sum\limits_{m^{\prime}}{{\gamma_{i}\left( {R_{k},m^{\prime},m} \right)}{\alpha_{k - 1}\left( m^{\prime} \right)}\quad{\beta_{k}(m)}}}}}{\sum\limits_{{i|d_{k}^{q}} = 1}^{\quad}{\sum\limits_{m}{\sum\limits_{m^{\prime}}{{\gamma_{i}\left( {R_{k},m^{\prime},m} \right)}{\alpha_{k - 1}\left( m^{\prime} \right)}{\beta_{k}(m)}}}}}}} & {{Equation}\quad 4} \end{matrix}$

Also, the forward metrics α_(k)(m) and the backward metrics β_(k)(m) can be defined by Equation 5 below: $\begin{matrix} \begin{matrix} {{\alpha_{k} = {\sum\limits_{m^{\prime}}{\sum\limits_{i}{{\gamma_{i}\left( {R_{k},m^{\prime},m} \right)}{\alpha_{k - 1}\left( m^{\prime} \right)}}}}},} \\ {\beta_{k} = {\sum\limits_{m^{\prime}}{\sum\limits_{i}{{\gamma_{i}\left( {R_{k + 1},m^{\prime},m} \right)}{\beta_{k + 1}\left( m^{\prime} \right)}}}}} \end{matrix} & {{Equation}\quad 5} \end{matrix}$

If the previous state value determined by an encoder input d_(k)=i and a state S_(k)=m is S_(b) ^(i)(m), the branch metrics γ_(i)(R_(k),m′,m) of Equation 5 can be defined by Equation 6 below: $\begin{matrix} {{\gamma_{i}\left( {R_{k},m^{\prime},m} \right)} = \left\{ \begin{matrix} {{\sigma_{i}\left( {R_{k},m} \right)};} & {m^{\prime} = {S_{b}^{i}(m)}} \\ {0;} & {m^{\prime} \neq {S_{b}^{i}(m)}} \end{matrix} \right.} & {{Equation}\quad 6} \end{matrix}$

At this time, δ_(i)(R_(k),m)=Pr(d_(k)=i,S_(k)=m)/2, and γ_(i)(R_(k+1), m,m′) can be defined by Equation 7 below: $\begin{matrix} {{\gamma_{i}\left( {R_{k + 1},m,m^{\prime}} \right)} = \left\{ \begin{matrix} {{\sigma_{i}^{- 1}\left( {R_{k + 1},m} \right)};} & {m^{\prime} = {S_{n}^{i}(m)}} \\ {0;} & {m^{\prime} \neq {S_{n}^{i}(m)}} \end{matrix} \right.} & {{Equation}\quad 7} \end{matrix}$

At this time, S_(n) ^(i)(m) is the next state value determined by the state S_(k)=m and the encoder input d_(k+1)=i.

Accordingly, if σ² is the variance of the AWGN channel environment, the branch metrics δ_(i)(R_(k),m) can be defined by Equation 8 below: $\begin{matrix} {{\delta_{i}\left( {R_{k},m} \right)} = {\frac{1}{2\sqrt{2\quad\pi\quad\sigma}}{\exp\left( {{- \frac{1}{2\quad\sigma^{2}}}\left( {x_{k} - X_{k}} \right)^{2}} \right)}}} & {{Equation}\quad 8} \end{matrix}$

The Turbo decoding is performed through calculation of the forward metrics and the backward metrics based on the branch metrics δ_(i)(R_(k),m) defined by Equation 8.

The Turbo decoder using the conventional MAP algorithm, in order to obtain the backward metric values, should perform a reverse trace with respect to the whole received frames, and then perform a forward LLR calculation using the value, resulting in that a memory to store the branch metrics and the backward metrics is required.

Accordingly, the turbo decoder using the conventional MAP algorithm has the drawbacks in that a large-capacity memory is required to perform the calculation in the unit of a frame.

SUMMARY OF THE INVENTION

Accordingly, it is an aspect of the present general inventive concept to solve the above and/or other drawbacks and problems associated with the conventional arrangement.

Another aspect of the present general inventive concept is to provide a MAP (Maximum A Posteriori) decoder and a decoding method thereof that can reduce a number of operational elements and an amount of operations by using a proposed MAP algorithm, and also can efficiently reduce a memory space required for the operation.

Additional aspects and advantages of the present general inventive concept will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the present general inventive concept.

The foregoing and/or other aspects and features of the generative inventive concept can be achieved by providing a MAP decoder including an intrinsic information storage unit to store input intrinsic information, a branch metric operation unit to calculate branch metrics of a received signal, a branch metric storage unit to store the branch metrics calculated with respect to the received signal, a forward metric operation unit to calculate forward metrics by reading out the intrinsic information and the branch metrics corresponding to the received signal from the intrinsic information storage unit and the branch metric storage unit, respectively, a backward metric operation unit to calculate backward metrics by reading out the intrinsic information and the branch metrics corresponding to the received signal from the intrinsic information storage unit and the branch metric storage unit, respectively, and a log likelihood ratio (LLR) unit to calculate an LLR using the intrinsic information, the branch metrics and the backward metrics corresponding to the received signal.

In an aspect of the present general inventive concept, the MAP decoder can further include a backward metric storage unit to store the backward metrics calculated by the backward metric operation unit.

In a further aspect of the general inventive concept, the branch metric storage unit can include a memory space to store the branch metrics, the number of which is N2^(b+1) on the condition that a frame length of the received signal is N and the number of input bits of an encoder is 2b, and the forward metric operation unit, the backward metric operation unit and the LLR unit iteratively read out the branch metrics, the number of which is N2^(b+1) for a predetermined number of times in response to the received signal to use the branch metrics.

In an aspect of the general inventive concept, the intrinsic information storage unit can include a memory space to store the intrinsic information metrics, the number of which is N2^(2b) on condition that a frame length of the received signal is N and the number of input bits of an encoder is 2b.

In still a further aspect of the present general inventive concept, the branch metrics B_(k) ^(i)(m) can be expressed, on a condition that X_(k) ^(i)(m) is an output of an encoder determined by a state S_(k−1)=m and an encoder input d_(k)=i, and R_(k)=(x_(k),y_(k)) is a signal received at a time of k, by the following equation: $\begin{matrix} {{B_{k}^{i}(m)} = {\sigma_{i}\left( {R_{k},m} \right)}} \\ {= {K\quad{\exp\left( {\frac{2}{2\quad\sigma^{2}}{X_{k}^{i}(m)}\quad\left( {x_{k} - {X_{k}^{i}(m)} + \left( {2^{b + 1} - 1} \right)} \right)} \right)}}} \end{matrix}$ wherein K denotes a constant, and b denotes a half of the number of encoder input bits.

In still a further aspect of the present general inventive concept, the forward metrics α_(k)(m), calculated using the branch metrics B_(k) ^(i)(m), can be expressed by the following equation: ${\alpha_{k}(m)} = {\sum\limits_{i}{{B_{k}^{i}(m)}{Intr}_{k}^{i}{\alpha_{k - 1}\left( {S_{b}^{i}(m)} \right)}}}$ wherein S_(b) ^(i)(m) denotes a previous state determined by an encoder input d_(k)=i and a state S_(k)=m, and Intr_(k) ^(i) denotes the intrinsic information.

In still a further aspect of the present general inventive concept, the backward metrics, β_(k)(m) calculated using the branch metrics B_(k) ^(i)(m), can be expressed by a following equation: ${\beta_{k}(m)} = {\sum\limits_{i}{{B_{k + 1}^{i}(m)}^{- 1}{Intr}_{k + 1}^{i}{\beta_{k - 1}\left( {S_{n}^{i}(m)} \right)}}}$ wherein S_(n) ^(i)(m) denotes a next state determined by an encoder input d_(k+1)=i and a state S_(k)=m, and Intr_(k) ^(i) denotes the intrinsic information.

The LLR L(d_(k) ^(q)), calculated using the branch metrics B_(k) ^(i)(m), the forward metrics α_(k)(m), and the backward metrics β_(k)(m), can be expressed by a following equation: ${L\left( d_{k}^{q} \right)} = {\log\frac{\sum\limits_{{i|d_{k}^{q}} = 1}{\sum\limits_{m}{{B_{k}^{i}(m)}{Intr}_{k}^{i}{\alpha_{k - 1}\left( {S_{b}^{i}(m)} \right)}{\beta_{k}(m)}}}}{\sum\limits_{{i|d_{k}^{q}} = 0}{\sum\limits_{m}{{B_{k}^{i}(m)}{Intr}_{k}^{i}{\alpha_{k - 1}\left( {S_{b}^{i}(m)} \right)}{\beta_{k}(m)}}}}}$

The foregoing and/or other aspects of the present general inventive concept can also be achieved by providing a decoding method used with a MAP decoder including the operations of storing input intrinsic information, calculating branch metrics of a received signal, storing the branch metrics calculated with respect to the received signal, calculating forward metrics by reading out the intrinsic information and the branch metrics corresponding to the received signal, calculating backward metrics by reading out the intrinsic information and the branch metrics corresponding to the received signal, and calculating a log likelihood ratio (LLR) using the intrinsic information, the branch metrics and the backward metrics corresponding to the received signal.

In an aspect of the present general inventive concept, the number of the branch metrics stored on the condition that a frame length of the received signal is N and the number of input bits of an encoder is 2b is N2^(b+1), the branch metrics, the number of which is N2^(b+1), are iteratively read out a predetermined number of times in response to the received signal to use the branch metrics when the forward metrics, the backward metrics and the LLR are calculated, and the number of the stored intrinsic information is N2^(b).

Accordingly, a MAP decoder and a decoding method thereof, which can reduce the number of operational elements and the number of operations and also can efficiently reduce a memory space used to perform the operations, can be provided.

BRIEF DESCRIPTION OF THE DRAWINGS

These and/or other aspects and advantages of the present general inventive concept will become apparent and more readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings of which:

FIG. 1A is a view illustrating the construction of a general 16QAM TTCM encoder;

FIG. 1B is a view illustrating the construction of a general 64QAM TTCM encoder;

FIG. 2 is a schematic block diagram of a Turbo decoder according to an embodiment of the present general inventive concept;

FIG. 3 is a schematic block diagram of a MAP decoder to which a MAP algorithm is applied, according to another embodiment of the present general inventive concept; and

FIG. 4 is a flowchart illustrating a decoding method used with a MAP decoder of FIG. 3.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Reference will now be made in detail to the embodiments of the present general inventive concept, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. The embodiments are described below in order to explain the present general inventive concept by referring to the figures.

First, with reference to several equations below, a MAP algorithm proposed according to an embodiment of the present general inventive concept will be explained in detail.

Branch metrics δ(R_(k),m) can be calculated as defined in equation 8 below (as recited above as well): $\begin{matrix} {{\delta_{i}\left( {R_{k},m} \right)} = {\frac{1}{2\sqrt{2\quad\pi\quad\sigma}}{\exp\left( {{- \frac{1}{2\quad\sigma^{2}}}\left( {x_{k} - X_{k}} \right)^{2}} \right)}}} & {{Equation}\quad 8} \end{matrix}$ For example, if output bits of a 64 QAM TTCM encoder having a code rate of ⅔ are I₀, I₁, and I₂, a mapped symbol X_(k) is given by Equation 9 below: X _(k)=4(2I ₀−1)+2(2I ₁−1)+(2I ₂−1)  Equation 9

Using X_(k), the branch metrics defined by Equation 8 can be expressed by Equation 10 below: $\begin{matrix} \begin{matrix} {{\delta_{i}\left( {R_{k},m} \right)} = {\frac{1}{2\sqrt{2\quad\pi\quad\sigma}}{\exp\left( {{- \frac{1}{2\quad\sigma^{2}}}\left( {x_{k} - X_{k}} \right)^{2}} \right)}}} \\ {= {K_{a}{\exp\left( {\frac{1}{2\quad\sigma^{2}}2{x\left( {{4\left( {{2I_{0}} - 1} \right)} + {2\left( {{2I_{1}} - 1} \right)} +} \right.}} \right.}}} \\ {\left. \left( {{2I_{2}} - 1} \right) \right) - {\frac{1}{2\quad\sigma^{2}}\left( {{4\left( {{2I_{0}} - 1} \right)} +} \right.}} \\ \left. \left. {{2\left( {{2I_{1}} - 1} \right)} + \left( {{2I_{2}} - 1} \right)} \right)^{2} \right) \\ {= {K_{a}{\exp\left( {\frac{1}{2\quad\sigma^{2}}\left( {{2{x_{k}\left( {{2\left( {{4I_{0}} + {2I_{1}} + I_{2}} \right)} - 7} \right)}} -} \right.} \right.}}} \\ \left. \left. \left( {{2\left( {{4I_{0}} + {2I_{1}} + I_{2}} \right)} - 7} \right)^{2} \right) \right) \end{matrix} & {{Equation}\quad 10} \end{matrix}$

Reducing the received signal and the constant from Equation 10 can result in Equation 11 as provided below: $\begin{matrix} \begin{matrix} {{\sigma_{i}\left( {R_{k},m} \right)} = {K_{b}{\exp\left( {\frac{1}{2\quad\sigma^{2}}\left( {{2{x_{k}\left( {2\left( {{4I_{0}} + {2I_{1}} + I_{2}} \right)} \right)}} -} \right.} \right.}}} \\ {\frac{1}{2\quad\sigma^{2}}\left( {\left( {2\left( {{4I_{0}} + {2I_{1}} + I_{2}} \right)} \right)^{2} -} \right.} \\ \left. \left. {28\left( {{4I_{0}} + {2I_{1}} + I_{2}} \right)} \right) \right) \\ {= {K_{b}{\exp\left( {\frac{2}{2\quad\sigma^{2}}\left( {{4I_{0}} + {2I_{1}} + I_{2}} \right)\left( {x_{k} - {4I_{0}} +} \right.} \right.}}} \\ \left. \left. {\left. {{2I_{1}} + I_{2}} \right) + 7} \right) \right) \end{matrix} & {{Equation}\quad 11} \end{matrix}$

If (4I₀+2I₁+I₂) is defined as X_(k) ^(i)(m), X_(k) ^(i)(m) becomes the output of the encoder determined by the state S_(k−1)=m and the encoder input d_(k)=i. Using X_(k) ^(i)(m), the branch metrics of Equation 11 can simply be reduced as illustrated by Equation 12 below: $\begin{matrix} {{\sigma_{i}\left( {R_{k},m} \right)} = {K_{b}{\exp\left( {\frac{2}{2\quad\sigma^{2}}{X_{k}^{i}(m)}\left( {x_{k} - {X_{k}^{i}(m)} + 7} \right)} \right)}}} & {{Equation}\quad 12} \end{matrix}$

Meanwhile, if the output bits of the 16QAM TTCM encoder having a code rate of ½ are I₀ and I₁, the mapped symbol X_(k) would be X_(k)=2(2I₀−1)+(2I₁−1), and using this, the branch metrics can be reduced by a following Equation 13 below: $\begin{matrix} \begin{matrix} {{\delta_{i}\left( {R_{k},m} \right)} = {K_{b}{\exp\left( {\frac{2}{2\quad\sigma^{2}}\left( {{2I_{0}} + I_{1}} \right)\left( {x_{k} - \left( {{2I_{0}} + I_{1}} \right) +} \right.} \right.}}} \\ \left. \left. \left. 3 \right) \right) \right) \\ {= {K_{b}{\exp\left( {\frac{2}{2\quad\sigma^{2}}{X_{k}^{i}(m)}\left( {x_{k} - {X_{k}^{i}(m)} + 3} \right)} \right)}}} \end{matrix} & {{Equation}\quad 13} \end{matrix}$

As described above, according to the MAP algorithm according to an embodiment of the present general inventive concept, the branch metrics can be simply arranged as in Equations 12 and 13.

For example, if the number of bits of X_(k) ^(i)(m) with respect to the 64 QAM TTCM decoder having a code rate of ⅔ is 3, and the number of bits of the signal x_(k) received in the decoder is 8, then a 3×8 multiplier is typically needed according to the proposed MAP algorithm of the present general inventive concept, while an 8×8 multiplier is required according to the conventional MAP algorithm (See Equation 8).

Accordingly, by applying the MAP algorithm of the present general inventive concept to a decoder as will be discussed with regard to FIGS. 2 and 3 below, the implementation of operation elements for the forward metrics, backward metrics and LLR calculated based on the branch metrics can be simplified.

Hereinafter, the branch metrics according to the MAP algorithm according to an embodiment of the present invention can be defined as B_(k) ^(i)(m), and the 16QAM TTCM decoder using the above algorithm will be explained in detail.

FIG. 2 is a schematic block diagram of a turbo decoder according to an embodiment of the present general inventive concept.

The Turbo decoder of FIG. 2 includes first and second MAP decoders 210 and 250, first and second subtracters 220 and 240, an interleaver 230 and a deinterleaver 270.

The first and second MAP decoders 210 and 250 are connected in series between the interleaver 230 and the deinterleaver 270, and can perform an iterative decoding. At this time, the first and second MAP decoders 210 and 250 can perform the decoding by applying the MAP algorithm according to the previously described embodiment, and an explanation of the respective MAP decoders is provided below.

The first MAP decoder 210 can receive an x signal and intrinsic information, and the second MAP decoder 250 can perform the decoding using a y signal and the intrinsic information that is provided from the previous output signal.

The interleaver 230 can handle the encoders illustrated in FIGS. 1A and 1B, and can perform an interleaving operation when the intrinsic information is transmitted from the first MAP decoder 210 to the second MAP decoder 250.

In contrast, the deinterleaver 270 can perform a deinterleaving when the intrinsic information is transmitted from the second MAP decoder 250 to the first MAP decoder 210.

The first and second subtracters 220 and 240 receive information from the first map decoder 210 and the deinterleaver 270, and the interleaver 230 and the second map decoder 250, respectively, and can subtract the respective intrinsic information received in order to prevent an overflow when the first and second MAP decoders 210 and 250 mutually transfer the intrinsic information.

FIG. 3 is a schematic block diagram of the MAP decoder 210 according to another embodiment of the present general inventive concept. FIG. 4 is a flowchart illustrating a corresponding decoding method executed by the map decoder illustrated in FIG. 3. The decoding method illustrated in FIG. 4 and described above is performed by the first and second MAP decoders 210 and 250, which will now be explained in detail.

The MAP decoder of FIG. 3. can include an intrinsic information storage unit 211, a branch metric operation unit 212, a branch metric storage unit 213, a forward metric operation unit 214, a backward metric operation unit 215, a backward metric storage unit 216, and an LLR unit 217.

The intrinsic information storage unit 211 can store the intrinsic information Intr_(k) ^(i) corresponding to the received signal (operation S411). Accordingly, the size of the intrinsic information storage unit 211 can be N2^(2b). Thus, in the case of the 16 QAM, the size becomes N2² since b=1. Here, ‘N’ denotes a frame length, and ‘2b’ the number of bits of the signal inputted to the encoder at a certain time of k.

The branch metric operation unit 212 can calculate branch metrics B_(k) ^(i)(m) of the received signal (x or y signal) (in operation S412), such that Equations 12 and 13 can be applied to Equation 14 below: $\begin{matrix} \begin{matrix} {{B_{k}^{i}(m)} = {\sigma_{i}\left( {R_{k},m} \right)}} \\ {= {K\quad{\exp\left( {\frac{2}{2\sigma^{2}}{X_{k}^{i}(m)}\left( {x_{k} - {X_{k}^{i}(m)} + \left( {2^{b + 1} - 1} \right)} \right)} \right)}}} \end{matrix} & {{Equation}\quad 14} \end{matrix}$

Here, ‘K’ denotes a constant, and ‘b’ a half of the number of input bits of the encoder. For example, in the case of 16QAM, b=1, while in the case of 64QAM, b=2.

The branch metric storage unit 213 can store the branch metrics B_(k) ^(i)(m) calculated by the branch metric operation unit 212, and the size thereof is N2^(b+1) (operation S413). Here, ‘N’ denotes a frame length, and ‘2b’ the number of bits of the signal inputted to the encoder at a certain time of k. Thus, ‘b’ becomes ½ of the number of bits of the input signal.

Specifically, in the case that the number of memories of the encoder is v, and the number of bits of the input signals is 2b, the number of output signals of the encoder becomes 2^(v)×2^(2b). Among the 2^(v)×2^(2b) output signals, one output level is iterated $\frac{2^{v} \times 2^{2b}}{2^{b + 1}}$ times, considering the number 2^(b+1) of output levels of the encoder.

Table 1 below shows input signals (in), states (s) and signals (out) mapped by output signals of a 16 QAM TTCM encoder having three memories. TABLE 1 in s out in s out in s out in s Out 0 0 −3 0 2 −3 0 4 −3 0 6 −3 1 1 1 1 1 1 1 1 2 −1 2 −1 2 −1 2 −1 3 3 3 3 3 3 3 3 0 1 −1 0 3 −1 0 5 −1 0 7 −1 1 3 1 3 1 3 1 3 2 −3 2 −3 2 −3 2 −3 3 1 3 1 3 1 3 1

As shown in Table 1, the total number of mapped signals (out) is 2 ²×2³ in the case that the number of input signals (in) is 2², and the number of states is 2³. One level of the mapped signals (out) is iterated $\frac{2^{2} \times 2^{3}}{2^{2}}$ times, i.e., 2³ times.

Accordingly, the branch metric storage unit 213 can have a memory size of N2^(b+1) that corresponds to the number of bits of the output signal of the encoder, and thus only one storing operation may be performed with respect to the iterative branch metrics. The forward metric operation unit 214, the backward metric operation unit 215, and the LLR unit 217, which use the branch metrics, can iteratively read out the pre-stored branch metrics corresponding to the received signal a predetermined number of times.

The forward metric operation unit 214 can calculate the forward metrics α_(k)(m) using the intrinsic information and the branch metrics stored in the intrinsic information storage unit 211 and the branch metric storage unit 213, respectively (operation S414). At this time, the intrinsic information and the branch metric information read out the intrinsic information Intr_(k) ^(i) and the branch metrics B_(k) ^(i)(m) corresponding to the received signal. The forward metrics α_(k)(m) are defined by Equation 15 below: $\begin{matrix} {{\alpha_{k}(m)} = {\sum\limits_{i}{{B_{k}^{i}(m)}\quad{Intr}_{k}^{i}{\alpha_{k - 1}\left( {S_{b}^{i}(m)} \right)}}}} & {{Equation}\quad 15} \end{matrix}$

The backward metric operation unit 215 can calculate the backward metrics B_(k)(m) using the intrinsic information and the branch metrics stored in the intrinsic information storage unit 211 and the branch metric storage unit 213, respectively (operation S415). The intrinsic information and the branch metric information read out the intrinsic information Intr_(k) ^(i) and the branch metrics B_(k) ^(i)(m) corresponding to the received signal. The backward metrics β_(k)(m) can be defined by Equation 16 below: $\begin{matrix} {{\beta_{k}(m)} = {\sum\limits_{i}{{B_{k + 1}^{i}(m)}^{- 1}{Intr}_{k + 1}^{i}{\beta_{k - 1}\left( {S_{n}^{i}(m)} \right)}}}} & {{Equation}\quad 16} \end{matrix}$

The backward metric storage unit 216 can store the calculated backward metrics β_(k)(m) in the unit of a frame (operation S416). Accordingly, when the LLR is calculated, the backward metrics are read out in synchronization with the branch metrics and the forward metrics.

The LLR unit 217 can calculate the LLR L(d_(k) ^(q)) using the branch metrics B_(k) ^(i)(m), the forward metrics α_(k)(m), the backward metrics β_(k)(m), and the intrinsic information Intr_(k) ^(i) (operation S417). Of course, the intrinsic information Intr_(k) ^(i) and the branch metrics B_(k) ^(i)(m) correspond to the received signal. The LLR L(d_(q) ^(q)) can be defined by Equation 17 below: $\begin{matrix} {{L\left( d_{k}^{q} \right)} = {\log\quad\frac{\sum\limits_{{i|d_{k}^{q}} = 1}^{\quad}{\sum\limits_{m}{{B_{k}^{i}(m)}{Intr}_{k}^{i}{\alpha_{k - 1}\left( {S_{b}^{i}(m)} \right)}{\beta_{k}(m)}}}}{\sum\limits_{{i|d_{k}^{q}} = 0}^{\quad}{\sum\limits_{m}{{B_{k}^{i}(m)}\quad{Intr}_{k}^{i}{\alpha_{k - 1}\left( {{S_{b}^{i}(m)}\quad{\beta_{k}(m)}} \right.}}}}}} & {{Equation}\quad 17} \end{matrix}$

The LLR L(d_(k) ^(q)) calculated by the LLR unit 217 can be inputted to the next MAP decoder as the intrinsic information.

Accordingly, by applying the MAP algorithm according to an embodiment of the present general inventive concept to the decoders, the implementation of operation elements to calculate the branch metrics, the forward metrics, the backward metrics and the LLR, can be simplified.

Meanwhile, the decoder illustrated in FIG. 2 and FIG. 3 requires a memory space of N2^(b+1) to store the branch metrics, and the memory space of N2^(2b) to store the intrinsic information, that is, the whole memory space of N2^(b−1)+N2^(2b).

By contrast, the conventional decoder requires the whole memory space of N2^(v)2^(2b) to store the branch metrics and the intrinsic information, wherein v is the number of memories of the decoder.

Accordingly, embodiments of the present general inventive concept can efficiently reduce the memory space of the decoder.

As described above in certain embodiments of the present general inventive concept, by applying the proposed MAP algorithm, the implementation of operation elements to calculate the branch metrics, the forward metrics, the backward metrics and the LLR can also be simplified.

Also, the whole memory space of the decoder can efficiently be reduced through preparing of the memory space for the branch metrics and the memory space for the intrinsic information, respectively, and reducing of the memory space of the branch metrics.

The MAP algorithm described herein can is not required to be used in its entirety, but can be used in many embodiments, including any combination of the formulas described herein.

Although a few embodiments of the present general inventive concept have been shown and described, it will be appreciated by those skilled in the art that changes may be made in these embodiments without departing from the principles and spirit of the invention, the scope of which is defined in the appended claims and their equivalents. 

1. A MAP decoder comprising: an intrinsic information storage unit to store input intrinsic information; a branch metric operation unit to calculate branch metrics of a received signal; a branch metric storage unit to store the branch metrics calculated with respect to the received signal; a forward metric operation unit to calculate forward metrics by reading out the intrinsic information and the branch metrics corresponding to the received signal from the intrinsic information storage unit and the branch metric storage unit, respectively; a backward metric operation unit to calculate backward metrics by reading out the intrinsic information and the branch metrics corresponding to the received signal from the intrinsic information storage unit and the branch metric storage unit, respectively; and a log likelihood ratio (LLR) unit to calculate an LLR using the intrinsic information, the branch metrics and the backward metrics corresponding to the received signal.
 2. The MAP decoder as claimed in claim 1, further comprising a backward metric storage unit to store the backward metrics calculated by the backward metric operation unit.
 3. The MAC decoder as claimed in claim 1, wherein the branch metric storage unit has a memory space to store the branch metrics the number of which is N2^(b+1) on the condition that a frame length of the received signal is N and the number of input bits of an encoder is 2b; and wherein the forward metric operation unit, the backward metric operation unit and the LLR unit iteratively read out the branch metrics the number of which is N2^(b+1) for a predetermined number of times in response to the received signal to use the branch metrics.
 4. The MAC decoder as claimed in claim 1, wherein the intrinsic information storage unit has a memory space to store the intrinsic information metrics the number of which is N2^(2b) on the condition that a frame length of the received signal is N and the number of input bits of an encoder is 2b.
 5. The MAP decoder as claimed in claim 1, wherein the branch metrics B_(k) ^(i)(m) are expressed on a condition that X_(k) ^(i)(m) is an output of an encoder determined by a state S_(k−1)=m and an encoder input d_(k)=i, and R_(k)=(x_(k), y_(k)) is a signal received at a time of k, by the following equation: ${{B_{k}^{i}(m)} = {{\sigma_{i}\left( {R_{k},m} \right)} = {K\quad{\exp\left( {\frac{2}{2\quad\sigma^{2}}{X_{k}^{i}(m)}\left( {x_{k} - {X_{k}^{i}(m)} + \left( {2^{b + 1} - 1} \right)} \right)} \right)}}}},$ wherein K denotes a constant, and b denotes ½ of the number of encoder input bits.
 6. The MAP decoder as claimed in claim 1, wherein the forward metrics α_(k)(m), calculated using the branch metrics B_(k) ^(i)(m) are expressed by a following equation, ${\alpha_{k}(m)} = {\sum\limits_{i}{{B_{k}^{i}(m)}\quad{Intr}_{k}^{i}{\alpha_{k - 1}\left( {S_{b}^{i}(m)} \right)}}}$ wherein S_(b) ^(i)(m) denotes a previous state determined by an encoder input d_(k)=i and a state S_(k)=m, and Intr_(k) ^(i) denotes the intrinsic information.
 7. The MAP decoder as claimed in claim 1, wherein the backward metrics β_(k)(m) calculated using the branch metrics B_(k) ^(i)(m) are expressed by a following equation, ${\beta_{k}(m)} = {\sum\limits_{i}{{B_{k + 1}^{i}(m)}^{- 1}{Intr}_{k + 1}^{i}{\beta_{k - 1}\left( {S_{n}^{i}(m)} \right)}}}$ wherein S_(n) ^(i)(m) denotes a next state determined by an encoder input d_(k+1)=i and a state S_(k)=m, and Intr_(k) ^(i) denotes the intrinsic information.
 8. The MAP decoder as claimed in claim 1, wherein the LLR L(d_(k) ^(q)) calculated using the branch metrics B_(k) ^(i)(m), the forward metrics α_(k)(m), and the backward metrics β_(k)(m) is expressed by a following equation, ${L\left( d_{k}^{q} \right)} = {\log\quad\frac{\sum\limits_{{i|d_{k}^{q}} = 1}^{\quad}{\sum\limits_{m}{{B_{k}^{i}(m)}{Intr}_{k}^{i}{\alpha_{k - 1}\left( {S_{b}^{i}(m)} \right)}{\beta_{k}(m)}}}}{\sum\limits_{{i|d_{k}^{q}} = 0}^{\quad}{\sum\limits_{m}{{B_{k}^{i}(m)}\quad{Intr}_{k}^{i}{\alpha_{k - 1}\left( {{S_{b}^{i}(m)}\quad{\beta_{k}(m)}} \right.}}}}}$ wherein S_(b) ^(i)(m) denotes a previous state determined by an encoder input d_(k)=i and a state S_(k)=m, S_(n) ^(i)(m) denotes a next state determined by an encoder input d_(k+1)=i and a state S_(k)=m at a time of k−1, and Intr_(k) ^(i) denotes the intrinsic information.
 9. An apparatus used to calculate a reliability of a result of a decoding operation of a received signal, the apparatus comprising: a receiving unit to receive relevant intrinsic information, relevant branch metrics, and relevant backward metrics; and a reliability calculating unit to calculate a measure of the reliability, using the intrinsic information, the branch metrics and the backward metrics corresponding to the received signal.
 10. An apparatus as recited in claim 9, where in the measure of reliability is a log likelihood ratio.
 11. An apparatus as recited in claim 9, further comprising a forward metric operation unit to compute forward metrics based on the intrinsic information and the branch metrics.
 12. An apparatus as recited in claim 11, wherein the receiving unit also receives the forward metrics and the reliability calculating unit also uses the forward metrics to calculate the measure of reliability.
 13. A decoding method for a MAP decoder, comprising the operations of: storing input intrinsic information; calculating branch metrics of a received signal; storing the branch metrics calculated with respect to the received signal; calculating forward metrics by reading out the intrinsic information and the branch metrics corresponding to the received signal; calculating backward metrics by reading out the intrinsic information and the branch metrics corresponding to the received signal; and calculating a log likelihood ratio (LLR) using the intrinsic information, the branch metrics and the backward metrics corresponding to the received signal.
 14. The decoding method as claimed 9, further comprising the operations of storing the calculated backward metrics.
 15. The decoding method as claimed in claim 13, wherein a number of the branch metrics is stored on a condition that a frame length of the received signal is N and the number of input bits of an encoder is 2b is N2^(b+1); and wherein the branch metrics, the number of which is N2^(b+1,) are iteratively read out for a predetermined number of times in response to the received signal when the forward metrics, the backward metrics, and the LLR are calculated.
 16. The decoding method as claimed in claim 13, wherein the number of the intrinsic information is N2^(2b) on condition that a frame length of the received signal is N, and number of input bits of an encoder is 2b.
 17. The decoding method as claimed in claim 13, wherein the branch metrics B_(k) ^(i)(m) are expressed by a following equation on the condition that X_(k) ^(i)(m) is an output of an encoder determined by a state S_(k−1)=m and an encoder input d_(k)=i, and R_(k)=(x_(k),y_(k)) is a signal received at a time of k, ${B_{k}^{i}(m)} = {{\sigma_{i}\left( {R_{k},m} \right)} = {K\quad{\exp\left( {\frac{2}{2\quad\sigma^{2}}{X_{k}^{i}(m)}\left( {x_{k} - {X_{k}^{i}(m)} + \left( {2^{b + 1} - 1} \right)} \right)} \right)}}}$ wherein K denotes a constant, and b denotes ½ of the number of encoder input bits.
 18. The decoding method as claimed in claim 13, wherein the forward metrics α_(k)(m) calculated using the branch metrics B_(k) ^(i)(m) are expressed by a following equation, ${\alpha_{k}(m)} = {\sum\limits_{i}{{B_{k}^{i}(m)}{Intr}_{k}^{i}{\alpha_{k - 1}\left( {S_{b}^{i}(m)} \right)}}}$ wherein S_(b) ^(i)(m) denotes a previous state determined by an encoder input d_(k)=i and a state S_(k)=m, and Intr_(k) ^(i) denotes the intrinsic information.
 19. The decoding method as claimed in claim 13, wherein the backward metrics β_(k)(m) calculated using the branch metrics B_(k) ^(i)(m) are expressed by a following equation, ${\beta_{k}(m)} = {\sum\limits_{i}{{B_{k + 1}^{i}(m)}^{- 1}{Intr}_{k + 1}^{i}{\beta_{k - 1}\left( {S_{n}^{i}(m)} \right)}}}$ wherein S_(n) ^(i)(m) denotes a next state determined by an encoder input d_(k+1)=i and a state S_(k)=m, and Intr_(k) ^(i) denotes the intrinsic information.
 20. The decoding method as claimed in claim 13, wherein the LLR L(d_(k) ^(q)) calculated using the branch metrics B_(k) ^(i)(m), the forward metrics α_(k)(m), and the backward metrics β_(k)(m) is expressed by a following equation, ${L\left( d_{k}^{q} \right)} = {\log\frac{\sum\limits_{{i|d_{k}^{q}} = 1}{\sum\limits_{m}{{B_{k}^{i}(m)}{Intr}_{k}^{i}{\alpha_{k - 1}\left( {S_{b}^{i}(m)} \right)}{\beta_{k}(m)}}}}{\sum\limits_{{i|d_{k}^{q}} = 0}{\sum\limits_{m}{{B_{k}^{i}(m)}{Intr}_{k}^{i}{\alpha_{k - 1}\left( {S_{b}^{i}(m)} \right)}{\beta_{k}(m)}}}}}$ wherein S_(b) ^(i)(m) denotes a previous state determined by an encoder input d_(k)=i and a state S_(k)=m, S_(n) ^(i)(m) denotes a next state determined by an encoder input d_(k+1)=i and a state S_(k)=m, and Intr_(k) ^(i) denotes the intrinsic information.
 21. A method used to calculate a reliability of a result of a decoding operation of a received signal, the method comprising: receiving relevant intrinsic information, relevant branch metrics, and relevant backward metrics; and calculating a measure of the reliability, using the intrinsic information, the branch metrics and the backward metrics corresponding to the received signal.
 22. A method as recited in claim 21, where in the measure of reliability is a log likelihood ratio.
 23. A method as recited in claim 21, further comprising computing forward metrics based on the intrinsic information and the branch metrics.
 24. A method as recited in claim 23, wherein the receiving unit also receives the forward metrics and the reliability calculating unit also uses the forward metrics to calculate the measure of reliability. 